<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        // // 在javascript中：以下内容会被当成false处理：
        // // "" , false , 0 , null , undefined , NaN
        
        // // a等于0,false;
        // // b等于2,true
        // var a = 0, b = 2,d = 10;

        // 1.逻辑或||
        // 只要有一个为true,返回的结果就是true的那个值
        // console.log(a||b);//true，所以为2
        // console.log(d||b);//true，所以为10
        // console.log(b||d);//true，所以为2


        // 如果两个都为true，那么返回的结果就是前面的那个正确值
        // var a = 1,b = 12,c = 123;
        // console.log(a||b);//1
        // console.log(b||c);//12
        // console.log(c||b);//123


        // 如果两个都是false，那么返回的结果就是后面的那个错误值
        // var a = 0,b = false,c = null;
        // console.log(a||b);//false
        // console.log(b||a);//0

        // console.log(c||a);//0
        // console.log(a||c);//null



        // 1.逻辑与&&
        // 如果有一个为false，结果就为false,也就是错误的那个值；
        // var a = 0, b = 22, c = 55;
        // console.log(a&&b);//0
        // console.log(b&&a);//0
        // console.log(c&&a);//0


        // 两边条件都为true时，结果为true,也就是正确的那个后面值
        // var a = 11, b = 22,c = 33;
        // console.log(a&&b);//22
        // console.log(b&&c);//33

        // 当两边条件都为false时，结果为false，也就是前面的那个错误值
        // 当第一个条件为false时，就不再判断后面的条件
        var a = NaN, b = "", c = 1111;
        console.log(a&&b);//NaN
        console.log(b&&a);//""
        
        console.log(c&&b);//""




    </script>
</body>
</html>